package com.ccc.scala.base7_collection

import scala.collection.mutable.ArrayBuffer
import scala.io.Source


object Collection09_WordCount {
  def main(args: Array[String]): Unit = {
    // 集合 - sortBy

    /*
    原数据：
          Hello Scala
          Hello Hadoop
     */

    // 1. 读取文件，获取原始数据
    val source = Source.fromFile("input/word.txt")
    val array = source.getLines().toArray
    source.close()

    // 2. 将源数据切分成一个一个的单词
    val words = array.flatMap(line => line.split(" "))

    // 3. 对分词的结果进行分组操作
    val wordGroups = words.groupBy(word => word)

    // 4. 对分组之后的数据进行数量统计
    val wordCount = wordGroups.mapValues(value => value.length)

    // 5. 打印结果
    println(wordCount.mkString(", ")) // Hadoop -> 1, Hello -> 2, Scala -> 1
  }

}
